#ifndef DEF_OBJECT3D
#define DEF_OBJECT3D

#ifdef WIN32
#include <GL/glew.h>
#else
#define GL3_PROTOTYPES 1
#include <GL3/gl3.h>
#endif


#include "Shaders/Shader.h"
#include "Maths/Matrice.h"

#include <vector>

class Object3D
{
public :
	Object3D();
	Object3D(float* vertex, int nbVertex, unsigned int* index, int nbIndex);
	~Object3D();

	void draw(Matrice &modelview, Matrice &projection);
	void drawVertex(Matrice &modelview, Matrice &projection);


	virtual void Update(float time);

protected:
	void setVertexRedColor();


protected:
	Shader m_shaderColor;
	float *m_vertex;
	int m_nbVertex;
	unsigned int *m_index;
	int m_nbIndex;
	unsigned int m_nbFaces;
	float* m_red;

};
#endif